﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using C.Unite;
using C.Entities;
using ChanExt;
using MySoft.Data;
using System.Text;
using LitJson;

namespace ArtLand.OA.Project.Project
{
    public partial class Pro_RementList : CommonPageBase
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DataBaseHelper.BindYear(Drp_Year);
                DataBaseHelper.BindMonth(Drp_Month);
                DataBaseHelper.BindSeason(Drp_JD);
                btnNew.OnClientClick = Window1.GetShowReference("Pro_RementChange.aspx", "添加合同收款记录");
                BindGrid(GetWhere());
            }
        }


        #region BindGrid
        private void BindGrid(WhereClip wc)
        {
            Grid1.RecordCount = TbsDbSession.Default.From<Proj_Rement>().Where(wc).Count();

            List<Proj_Rement> items = TbsDbSession.Default.From<Proj_Rement>().Where(wc).OrderBy(Proj_Rement._.ID.Desc).Page(Grid1.PageSize, (Grid1.PageIndex + 1)).ToList();

            // 3.绑定到Grid
            Grid1.DataSource = items;
            Grid1.DataBind();
        }



        protected void Grid1_PageIndexChange(object sender, ChanExt.GridPageEventArgs e)
        {
            Grid1.PageIndex = e.NewPageIndex;
            BindGrid(GetWhere());
        }

        public WhereClip GetWhere()
        {
            WhereClip wc = WhereClip.All;
            if (!string.IsNullOrEmpty(Request["cid"]))
            {
                Proj_Contat pc = TbsDbSession.Default.From<Proj_Contat>().Where(Proj_Contat._.ID == int.Parse(Request["cid"])).ToFirst();
                wc = wc && Proj_Rement._.CONNUB == pc.CONNUB;
            }
            if (!String.IsNullOrEmpty(ttbxMyBox2.Text))
            {
                wc = wc && (Proj_Rement._.CONNUB.Contain(ttbxMyBox2.Text) || Proj_Rement._.INVNUB.Contain(ttbxMyBox2.Text));
            }

            string t = hid_findD.Text;
            if (t == "0")
            {
                if (txt_StartTime.Text != "")
                    wc = wc && Proj_Rement._.REDATE >= txt_StartTime.Text;
                if (txt_EndTime.Text != "")
                    wc = wc && Proj_Rement._.REDATE <= txt_EndTime.Text;
            }
            else
            {
                wc = wc && Proj_Rement._.REDATE.Year == Drp_Year.SelectedValue;
                if (rdo2.Checked)
                {
                    wc = wc && Proj_Rement._.REDATE.Month == Drp_Month.SelectedValue;
                }
                if (rdo1.Checked)
                {
                    int c = int.Parse(Drp_JD.SelectedValue);
                    c = c * 2 + (-2 + c);
                    wc = wc && (Proj_Rement._.REDATE.Month >= c && Proj_Rement._.REDATE.Month <= (int.Parse(Drp_JD.SelectedValue) * 3));
                }
            }

            return wc;
        }
        // 点击 TwinTriggerBox 的搜索按钮
        protected void ttbxMyBox2_Trigger2Click(object sender, EventArgs e)
        {
            if (!String.IsNullOrEmpty(ttbxMyBox2.Text))
            {
                // 执行搜索动作
                BindGrid(GetWhere());
                ttbxMyBox2.ShowTrigger1 = true;
            }
            else
            {
                Alert.ShowInTop("请输入你要搜索的关键词！");
            }
        }

        // 点击 TwinTriggerBox 的取消按钮
        protected void ttbxMyBox2_Trigger1Click(object sender, EventArgs e)
        {
            // 执行清空动作

            ttbxMyBox2.Text = "";
            ttbxMyBox2.ShowTrigger1 = false;
            BindGrid(GetWhere());
        }
        #endregion

        protected void Grid1_RowDataBound(object sender, GridRowEventArgs e)
        {
            //string color = e.Values[7].ToString();
            //string bold = e.Values[8].ToString();
            //if (bold == "True")
            //    bold = "bold";
            //else
            //    bold = "";
            //string title = "<span style=\"color:{0};font-weight:{1}\">" + e.Values[0] + "</span>";
            //title = string.Format(title, color, bold);
            //e.Values[0] = title;
            //e.Values[7] = "<a href=\"javascript:;\" onclick=\"TabView('/AfterSale/ASale_RePairChange.aspx?id=" + e.Values[7] + "', 'tab_wxadd', '修改维修记录', '/icon/comment_edit.png');\"><img src=\"/icon/comment_edit.png\" /></a>";
        }

        protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
        {
            int id = int.Parse(Grid1.DataKeys[e.RowIndex][0].ToString());
            if (e.CommandName == "Del")
            {
                TbsDbSession.Default.Delete<Proj_Rement>(Proj_Rement._.ID == id);
                Alert.ShowInTop("删除成功！");
                BindGrid(GetWhere());
            }
            //if (e.CommandName == "CheckBox1")
            //{
            //    CheckBoxField checkField = (CheckBoxField)Grid1.FindColumn(e.ColumnIndex);
            //    bool checkState = checkField.GetCheckedState(e.RowIndex);
            //    Proj_Custor tea = new Proj_Custor();
            //    tea.ID = id;
            //    tea.Attach();
            //    tea.COMBIN = checkState;
            //    TbsDbSession.Default.Update<Proj_Custor>(tea);
            //    BindGrid(GetWhere());
            //}
        }

        protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
        {
            int id = int.Parse(Grid1.DataKeys[e.RowIndex][0].ToString());
            PageContext.RegisterStartupScript(Window1.GetShowReference("Pro_RementChange.aspx?id=" + id, "修改"));
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            FormInfo.GridEdit(Grid1, Window1, "Pro_RementChange.aspx");
            BindGrid(GetWhere());
        }

        protected void Button2_Click(object sender, EventArgs e)
        {
            FormInfo.GridDelete<Proj_Rement>(Grid1, Window1, new Proj_Rement());
            BindGrid(GetWhere());
        }

        protected void btnSearch_Click(object sender, EventArgs e)
        {
            PageContext.RegisterStartupScript(Window2.GetShowReference());
        }

        protected void rdo1_CheckedChanged(object sender, EventArgs e)
        {
            Drp_Month.Enabled = false;
            Drp_JD.Enabled = true;
        }

        protected void rdo2_CheckedChanged(object sender, EventArgs e)
        {
            Drp_Month.Enabled = true;
            Drp_JD.Enabled = false;
        }

        protected void btn1_Click(object sender, EventArgs e)
        {
            hid_findD.Text = "1";
            txt_StartTime.Enabled = false;
            txt_EndTime.Enabled = false;
            Drp_Month.Enabled = true;
            Drp_Year.Enabled = true;
            rdo1.Enabled = true;
            rdo2.Enabled = true;
        }

        protected void btn2_Click(object sender, EventArgs e)
        {
            hid_findD.Text = "0";
            Drp_JD.Enabled = false;
            Drp_Month.Enabled = false;
            Drp_Year.Enabled = false;
            rdo1.Enabled = false;
            rdo2.Enabled = false;

            txt_StartTime.Enabled = true;
            txt_EndTime.Enabled = true;
        }

        protected void btn_Save_Click(object sender, EventArgs e)
        {
            BindGrid(GetWhere());
            PageContext.RegisterStartupScript(Window2.GetHideReference());
        }

        protected void btnReload_Click(object sender, EventArgs e)
        {
            PageContext.Refresh();
        }


    }
}